/*
 * Copyright：fxsen <br/>
 * Date: 2021/9/19 12:01 <br/>
 * Author: <a href="mailto:fxsen@foxmail.com">fxsen</a>
 */
package com.fxsen.commons.sysmanager.core.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fxsen.commons.core.base.common.entity.BaseEntity;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.TableComment;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * @describe: 系统用户实体对象 <br/>
 * @date: 2021/9/19 12:01 <br/>
 * @author: <a href="mailto:fxsen@foxmail.com">fxsen</a>
 */
@ApiModel("用户")
@TableName("sys_user")
@TableComment(value = "用户表")
public class User extends BaseEntity {
    /**
     *部门id
     */
    @ApiModelProperty("部门id")
    @TableField(value = "dept_id")
    private String deptId;
    /**
     *登录账号
     */
    @ApiModelProperty("登录账号")
    @TableField(value = "login_name")
    private String loginName;
    /**
     *用户昵称
     */
    @ApiModelProperty("用户昵称")
    @TableField(value = "user_name")
    private String userName;
    /**
     *用户类型（00系统用户 01注册用户）
     */
    @ApiModelProperty("用户类型（0系统用户 1注册用户）")
    @TableField(value = "type")
    private String type;
    /**
     *用户邮箱
     */
    @ApiModelProperty("用户邮箱")
    @TableField(value = "email")
    private String email;
    /**
     *手机号
     */
    @ApiModelProperty("手机号")
    @TableField(value = "phone")
    private String phone;
    /**
     *用户性别（0男 1女 2未知）
     */
    @ApiModelProperty(name = "用户性别（0男 1女 2未知）")
    @TableField(value = "sex")
    private Integer sex;
    /**
     *头像路径
     */
    @ApiModelProperty("头像路径")
    @TableField(value = "avatar")
    private String avatar;
    /**
     *密码
     */
    @ApiModelProperty("密码")
    @TableField(value = "password")
    private String password;
    /**
     *年龄
     */
    @ApiModelProperty(value = "年龄")
    @TableField(value = "age")
    private Integer age;
    /**
     *最后登录IP
     */
    @ApiModelProperty("最后登录IP")
    @TableField(value = "login_ip")
    private String loginIp;
    /**
     *最后登录时间
     */
    @ApiModelProperty("最后登录时间")
    @TableField(value = "login_date")
    @Column(name = "login_date", type = MySqlTypeConstant.DATETIME, comment = "最后登录时间")
    private Date loginDate;
    /**
     *密码最后修改时间
     */
    @ApiModelProperty("密码最后修改时间")
    @TableField(value = "pwd_update_date")
    private Date pwdUpdateDate;

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }

    public Date getLoginDate() {
        return loginDate;
    }

    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }

    public Date getPwdUpdateDate() {
        return pwdUpdateDate;
    }

    public void setPwdUpdateDate(Date pwdUpdateDate) {
        this.pwdUpdateDate = pwdUpdateDate;
    }
}
